The present invention relates to virtual machines, and more specifically, this invention relates to optimal placement and migration of virtual machines within cloud data centers.
Cloud computing has emerged as a new paradigm where tenants can benefit from on-demand computing resources provided in a pay-as-you-go manner. In IaaS environments, tenants may benefit from computing resources such as processing, memory, storage and networking. In order to achieve reliability and serve world-wide users, large-scale IaaS providers are relying on a geographically distributed infrastructure where data centers (DCs) are built in different locations and interconnected by a backbone network.
With the rise of cloud services popularity, many virtual machines (VMs) are now hosting applications with critical network requirements, and therefore may need to be placed in a predetermined proximity of end-users in order to maintain service performance (especially for latency-sensitive applications). In addition, for many applications, the amount of traffic generated by service communication and data exchange may have an influence on the performance of the whole system. Further, VM migration may entail a large amount of traffic, which adds to the traffic generated by intercommunicating VMs.